﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Model;
using Util;
using DAO;

namespace RegraNegocio
{
    public class ItemPedidoBO
    {

        private static ItemPedidoBO singleton = null;

        private ItemPedidoBO() { }

        public static ItemPedidoBO getInstance()
        {
            if (singleton == null) {
                singleton = new ItemPedidoBO();
            }

            return singleton;

        }

        public List<ItemPedido> convertToItemPedido(List<ItemPedidoVO> itemsVO) {
            List<ItemPedido> itemsConvertidos = new List<ItemPedido>();
            ItemPedido auxiliar = null;

            foreach (ItemPedidoVO item in itemsVO)
            {
                auxiliar = new ItemPedido();
                auxiliar.Quantidade = item.Quantidade;
                auxiliar.Produto = new Produto(item.CodigoProduto);

                itemsConvertidos.Add(auxiliar);
            }

            return itemsConvertidos;
        }

        public bool hasItemPedido(List<ItemPedidoVO> itens, int codigoProduto) 
        {
            bool validacao = false;

            foreach (ItemPedidoVO item in itens)
            {
                if (item.CodigoProduto == codigoProduto) {
                    validacao = true;
                    break;
                }    
            }

            return validacao;
        }

        public List<ItemPedidoVO> recuperarProdutosPedido(Pedido pedido) 
        {
            return ItemPedidoDAO.getInstance().recuperarProdutosPedido(pedido);
        }

        public void deletarItensPedido(Pedido pedido) 
        {
            ItemPedidoDAO.getInstance().deletarItensPedido(pedido);
        }

    }
}